Data replication techniques enable organizations to protect data from loss, implement disaster recovery, or to migrate data between locations. There are various types of replication modes that can be utilized by an organization, and each mode comes with its own advantages and disadvantages. One popular mode of data replication is active/active replication in which a network of servers and applications concurrently perform input/output (IO) operations across a virtualized storage layer. This type of replication provides advantages such as continuous availability, as replication operations are not interrupted when one system or node in the network goes down.
However, an infrastructure that employs active/active replication requires some locking mechanism to enable concurrent updates to data from any site in the network. For example, if a host writes the first 4 KB of one page into one device and the last 4 KB of the same page into its peer device in an active/active setup, both sides will try to lock the page on both storage clusters, leading to a deadlock. Once a deadlock has been resolved, the system needs to maintain data consistency and ensure safe TO recovery when one or more components fails in the middle of locking and writing.